iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 20
1
Modern Web

JavaScript 之旅系列 第 20

JavaScript 之旅 (20):Promise.allSettled()

  • 分享至 

  • xImage
  •  

本篇介紹 ES2020 (ES11) 提供的 Promise.allSettled()

前言

在開始介紹 Promise.allSettled() 之前,先對說明一些專有名詞。

Promise 有三種狀態:

  • pending:Promise 還未 fulfilled,也未 rejected 的狀態
  • fulfilled:Promise 已經 fulfilled
  • rejected:Promise 已經 rejected

spec 定義如下:

  • promise 已經 settled 代表 promise 不是 pending,即代表已經 fulfilled 或 rejected
  • 若 promise 已經 settled 或已變成另一個狀態時,代表 promise 已經 resolved
  • 嘗試 resolve 或 reject 某個 resolved promise 不會有任何效果
  • unresolved 的 promise 會一直處於 pending 狀態
  • resolved 的 promise 可能是 pending、fulfilled 或 rejected

各種 Promise method

在提案中有提到幾個 Promise method,包含過去的 Promise.all()Promise.race()、本篇要介紹的 Promise.allSettled(),以及之後會介紹的 Promise.any()

資料來源


上一篇
JavaScript 之旅 (19):String.prototype.matchAll()
下一篇
JavaScript 之旅 (21):globalThis
系列文
JavaScript 之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言